home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs07.d81 / tester (.txt) < prev    next >
Commodore BASIC  |  2009-10-10  |  7KB  |  248 lines

  1. 10 PRINT"[147]":POKE53280,0:POKE53281,0
  2. 20 PRINTSPC(174)"[169][146][158][169]   [156][169][146][169][159] [146]     [146][169]"
  3. 30 PRINTSPC(13)"[169][146][129][169]   [153][169][146][156][169] [159] [146]    [146][169]"
  4. 40 PRINTSPC(13)" [129] [158] [223][146] [153] [156]  [159] [146]"
  5. 50 PRINTSPC(13)" [146]   [146]    [159] [146]    [223][146]"
  6. 60 PRINTSPC(13)"[223][129] [158] [146][169]    [159] [146]     [223][146]"
  7. 70 PRINTSPC(87)"     [146]       [146]  [169]   [223][146]       [146]"
  8. 80 PRINTSPC(9)" [146]     [146]       [146]         [146]"
  9. 90 PRINTSPC(9)" [146]       [146]    [223]   [223][146]     [146]"
  10. 100 PRINTSPC(9)" [146]     [146]           [146]     [146]"
  11. 110 PRINTSPC(9)" [146]         [146]  [223]   [146][169]     [146]"
  12. 120 PRINTSPC(92)"[154]BY  THE COMPUCATS"
  13. 130 REM ***********************
  14. 140 REM ** C-64 TEST PROGRAM **
  15. 150 REM ** BY THE COMPUCATS  **
  16. 160 REM ** ABERDEEN MD 21001 **
  17. 170 REM ***********************
  18. 180 REM *** SPRITE POSITION DATA ***
  19. 190 DATA 78,80,135,80,193,80,250,80
  20. 200 DATA 78,150,135,150,193,150,250,150
  21. 210 REM ****** PADDLE ML DATA *******
  22. 220 DATA162,1,120,173,2,220,141,0,193,169,192,141,2,220,169,128,141,0,220
  23. 230 DATA160,128,234,136,16,252,173,25,212,157,1,193,173,26,212,157,3,193,173,0
  24. 240 DATA220,9,128,141,5,193,169,64,202,16,222,173,0,193,141,2,220,173,1
  25. 250 DATA220,141,6,193,88,96
  26. 260 REM ****** USER RAM ML DATA *******
  27. 270 DATA169,0,133,251,133,253,169,8,133,252,169,194,133,254,162,152,160,0
  28. 280 DATA177,251,145,253,200,208,249,230,252,202,208,244,96
  29. 290 REM ****** SET UP ML ROUTINES *******
  30. 300 FORI=0TO15:READA%:NEXT:DIMA(6)
  31. 310 FORI=0TO63:READA%:POKE49152+I,A%:NEXT
  32. 320 FORI=0TO30:READA%:POKE50176+I,A%:NEXT
  33. 330 REM *** TITLE SCREEN ***
  34. 340 FORT=1TO3000:NEXT
  35. 350 REM ******** MAIN MENU ********
  36. 360 POKE53280,0:POKE53281,0:PRINT"[147]"
  37. 370 PRINTTAB(12)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  38. 380 PRINTTAB(8)"****  ENTER NUMBER  [146]****"
  39. 390 PRINTTAB(12)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  40. 400 PRINT
  41. 410 PRINTTAB(9)"[209] (1)  SPRITES"
  42. 420 PRINTTAB(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  43. 430 PRINTTAB(9)"[209] (2)  JOYSTICKS"
  44. 440 PRINTTAB(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  45. 450 PRINTTAB(9)"[209] (3)  PADDLES"
  46. 460 PRINTTAB(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  47. 470 PRINTTAB(9)"[209] (4)  USER RAM"
  48. 480 PRINTTAB(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  49. 490 PRINTTAB(9)"[209] (5)  SID (SOUND)"
  50. 500 PRINTTAB(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  51. 510 PRINTTAB(9)"[209] (6)  BASIC ROM"
  52. 520 PRINTTAB(15)"[158][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  53. 530 B=0:A$="":FORI=1TO13STEP2:A(B)=I:B=B+1:NEXT
  54. 540 PRINT""
  55. 550 R=INT(RND(0)*6+1):B=INT(RND(1)*10+2)
  56. 560 PRINTLEFT$(A$,A(R));
  57. 570 POKE646,B:PRINTTAB(9);"[209]":FORT=1TO500:NEXT:GETI$:IFI$<>""THEN590
  58. 580 GOTO540
  59. 590 I=VAL(I$)
  60. 600 IF I<1ORI>6 THEN540
  61. 610 ONIGOTO630,1730,2080,2250,990,1240
  62. 620 REM ******** SPRITE CHECK *********
  63. 630 POKE53280,0:POKE53281,0:POKE646,14
  64. 640 PRINT"[147]"
  65. 650 FORX=12288TO12352STEP2:POKEX,255:NEXT
  66. 660 FORX=12289TO12351STEP2:POKEX,60:NEXT
  67. 670 RESTORE:FORX=0TO7:READX1(X),Y1(X):NEXT
  68. 680 SP=53248:POKESP+21,0:POKESP+23,0:POKESP+29,0
  69. 690 FORX2=0TO7:POKE2040+X2,192:NEXT
  70. 700 FORX3=0TO7:POKE2*X3+SP,X1(X3):POKE2*X3+1+SP,Y1(X3)+20:POKESP+39+X3,X3+1:NEXT
  71. 710 POKESP+21,255
  72. 720 PRINT"[147]"TAB(8)"1"TAB(15)"2"TAB(22)"3"TAB(29)"4"
  73. 730 PRINT""TAB(8)"5"TAB(15)"6"TAB(22)"7"TAB(29)"8"
  74. 740 FORN=0TO7:FORXY=19TO1STEP-1:POKESP+N*2+1,Y1(N)+XY:NEXT:NEXT
  75. 750 FORX=1TO4:FORN=0TO7:ON X GOSUB780,790,800,810
  76. 760 NEXT:NEXT:GOTO820
  77. 770 STOP
  78. 780 FORXY=1TO20:POKESP+N*2,X1(N)-XY:NEXT:RETURN
  79. 790 FORXY=1TO20:POKESP+N*2+1,Y1(N)-XY:NEXT:RETURN
  80. 800 FORXY=20 TO 1 STEP-1:POKESP+N*2,X1(N)-XY:NEXT:RETURN
  81. 810 FORXY=20TO1STEP-1:POKESP+N*2+1,Y1(N)-XY:NEXT:RETURN
  82. 820 FORX=0TO15:FORY=0TO7:POKESP+39+Y,X:NEXT:FORT=1TO400:NEXT:NEXT
  83. 830 FORX=0TO7:POKESP+39+X,X+1:NEXT
  84. 840 FORN=0TO7:POKESP+23,INT(2^N):FORT=1TO400:NEXT:NEXT:POKESP+23,0
  85. 850 FORN=0TO7:POKESP+29,INT(2^N):FORT=1TO400:NEXT:NEXT:POKESP+29,0
  86. 860 PRINT"   WHICH SPRITE? (1-8 : 0 TO RETURN)"
  87. 870 GETA$:IFA$=""THEN870
  88. 880 GOSUB930
  89. 890 FORX=1TO4:ONXGOSUB780,790,800,810:NEXT
  90. 900 GOTO870
  91. 910 POKES+21,0:PRINT"[147]":END
  92. 920 GETA$:IFA$=""THEN920
  93. 930 A=ASC(A$):IFA<48ORA>56THEN920
  94. 940 IFA=48THEN970
  95. 950 N=VAL(A$)-1
  96. 960 RETURN
  97. 970 PRINT"[147]":POKESP+21,0:GOTO360
  98. 980 REM ******** SID    CHECK *********
  99. 990 PRINT"[147]":PRINTSPC(93)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  100. 1000 PRINTTAB(10)"*** SID SOUND TEST [146]***"
  101. 1010 PRINTTAB(13)"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  102. 1020 FF=1
  103. 1030 V=54272:FORL=VTOV+24:POKEL,0:NEXT:FORT=0TO2:K=T*7
  104. 1040 POKEV+5+K,88:POKEV+6+K,195:FORWA=1TO4:IFWA=1THENW=17
  105. 1050 IFWA=2THENW=33
  106. 1060 IFWA=3THENW=65
  107. 1070 IFWA=4THENW=129
  108. 1080 POKEV+24,15:POKEV+2+K,255:POKEV+4+K,W
  109. 1090 PRINT""TAB(12)"[154]VOICE [153]"T+1:PRINTSPC(92)"[154]WAVEFORM: [156]";
  110. 1100 IFWA=1THENPRINT"TRIANGLE   "
  111. 1110 IFWA=2THENPRINT"SAWTOOTH   "
  112. 1120 IFWA=3THENPRINT"PULSE      "
  113. 1130 IFWA=4THENPRINT"WHITE NOISE"
  114. 1140 PRINT"":FORHI=1TO255 STEP2
  115. 1150 POKEV+1+K,HI:PRINTTAB(12)"[145][154]HIGH BYTE : "HI:NEXT:POKEV+4+K,0
  116. 1160 IFT=2ANDWA=4THEN1180
  117. 1170 NEXT:NEXT
  118. 1180 PRINT"[154]      IF YOUR SID IS WORKING"
  119. 1190 PRINT"      YOU SHOULD HAVE HEARD THE"
  120. 1200 PRINT"      SOUNDS WITH ALL THREE VOICES."
  121. 1210 FORT=1TO5000:NEXT
  122. 1220 GOTO360
  123. 1230 REM ******** BASIC ROM CHECK *********
  124. 1240 B3=0:PRINT"[147]":PRINTTAB(13)"[159][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  125. 1250 PRINTTAB(10)"***[159] BASIC ROM TEST [146]***"
  126. 1260 PRINTTAB(13)"[159][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  127. 1270 B1=40960
  128. 1280 PRINT"[153]REGISTER BEING TESTED:"
  129. 1290 B2=PEEK(B1)
  130. 1300 PRINT"[159]";B1
  131. 1310 B3=B3+B2
  132. 1320 IFB1=41300THEN1430
  133. 1330 IFB1=42000THEN1450
  134. 1340 IFB1=43000THEN1470
  135. 1350 IFB1=44000THEN1490
  136. 1360 IFB1=45000THEN1510
  137. 1370 IFB1=46000THEN1530
  138. 1380 IFB1=47000THEN1550
  139. 1390 IFB1=48000THEN1580
  140. 1400 IFB1=49151THEN1610
  141. 1410 B1=B1+1:GOTO1290
  142. 1420 B1=B1+1:GOTO1290
  143. 1430 IFB3=43099THENPRINTSPC(46)"[156]PART 1 - OK":GOTO1640
  144. 1440 GOTO1660
  145. 1450 IFB3=66906THENPRINTSPC(86)"[156]PART 2 - OK":GOTO1640
  146. 1460 GOTO1660
  147. 1470 IFB3=117669THENPRINTSPC(126)"[156]PART 3 - OK":GOTO1640
  148. 1480 GOTO1660
  149. 1490 IFB3=114311THENPRINTSPC(166)"[156]PART 4 - OK":GOTO1640
  150. 1500 GOTO1660
  151. 1510 IFB3=111749THENPRINTSPC(206)"[156]PART 5 - OK":GOTO1640
  152. 1520 GOTO1660
  153. 1530 IFB3=114547THENPRINTSPC(246)"[156]PART 6 - OK":GOTO1640
  154. 1540 GOTO1660
  155. 1550 PRINT""
  156. 1560 IFB3=115993THENPRINTTAB(6)"[156]PART 7 - OK":GOTO1640
  157. 1570 GOTO1660
  158. 1580 PRINT""
  159. 1590 IFB3=114241THENPRINTTAB(6)"[156]PART 8 - OK":GOTO1640
  160. 1600 GOTO1660
  161. 1610 PRINT""
  162. 1620 IFB3=134691THENPRINTTAB(6)"[156]PART 9 - OK":GOTO1690
  163. 1630 GOTO1660
  164. 1640 B3=0:B1=B1+1:GOTO1290
  165. 1650 GOTO1290
  166. 1660 PRINT"A PROBLEM EXISTS IN THE ROM             OF THIS COMPUTER"
  167. 1670 FORT=1TO3000:NEXT
  168. 1680 GOTO360
  169. 1690 PRINT"[153]THE BASIC ROM CHECKS OK"
  170. 1700 FORT=1TO2000:NEXT
  171. 1710 GOTO360
  172. 1720 REM ******** JOYSTICK CHECK *********
  173. 1730 PRINT"[147]":PRINTSPC(93)"[153][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  174. 1740 PRINTTAB(10)"***[153] JOYSTICK CHECK [146]***"
  175. 1750 PRINTTAB(13)"[153][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  176. 1760 PRINTSPC(128)"[154]PRESS F1 TO TEST PORT # 1"
  177. 1770 PRINTSPC(48)"PRESS F3 TO TEST PORT # 2"
  178. 1780 PRINTSPC(48)"PRESS F7 TO RETURN"
  179. 1790 FORX=12288TO12352STEP2:POKEX,127:NEXT
  180. 1800 FORX=12289TO12351STEP2:POKEX,254:NEXT
  181. 1810 SP=53248:X=150:Y=180:POKESP+21,1:POKESP+39,2
  182. 1820 POKE2040,192:POKESP,X:POKESP+1,Y
  183. 1830 IFAA=1THENJS=15-(PEEK(56321)AND15)
  184. 1840 IFAA=5THENJS=15-(PEEK(56320)AND15)
  185. 1850 IFJS=0THEN2020
  186. 1860 IFJS=1THENDX=0:DY=-2:GOTO1940
  187. 1870 IFJS=2THENDX=0:DY=2:GOTO1940
  188. 1880 IFJS=4THENDX=-2:DY=0:GOTO1940
  189. 1890 IFJS=5THENDX=-2:DY=-2:GOTO1940
  190. 1900 IFJS=6THENDX=-2:DY=2:GOTO1940
  191. 1910 IFJS=8THENDX=2:DY=0:GOTO1940
  192. 1920 IFJS=9THENDX=2:DY=-2:GOTO1940
  193. 1930 IFJS=10THENDX=2:DY=2:GOTO1940
  194. 1940 X=X+DX:Y=Y+DY
  195. 1950 IFX>255ANDPEEK(SP+16)=0THENPOKESP+16,1:X=0
  196. 1960 IFPEEK(SP+16)=1ANDX<0THENPOKESP+16,0:X=255
  197. 1970 IFY>220THENY=220
  198. 1980 IFY<50THENY=50
  199. 1990 IFX<40ANDPEEK(SP+16)=0THENX=40
  200. 2000 IFX>50ANDPEEK(SP+16)=1THENX=50
  201. 2010 POKESP,X:POKESP+1,Y
  202. 2020 GETA$
  203. 2030 IFA$=CHR$(133)THENAA=1
  204. 2040 IFA$=CHR$(134)THENAA=5
  205. 2050 IFA$=CHR$(136)THEN970
  206. 2060 GOTO1830
  207. 2070 REM ******** PADDLE CHECK **********
  208. 2080 PRINT"[147]":PRINTSPC(93)"[156][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  209. 2090 PRINTTAB(10)"***[156]  PADDLE  TEST  [146]***"
  210. 2100 PRINTTAB(13)"[156][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  211. 2110 PRINTSPC(132)"[159]PRESS F1 TO RETURN"
  212. 2120 CC=49152
  213. 2130 SYSCC
  214. 2140 P1=PEEK(CC+257):P2=PEEK(CC+258)
  215. 2150 P3=PEEK(CC+259):P4=PEEK(CC+260)
  216. 2160 S1=PEEK(CC+261):S2=PEEK(CC+262)
  217. 2170 PRINT"[156]                 #1    #2    #3    #4"
  218. 2180 PRINT"[153]   POSITIONS:   ";P1;" ";P2;" ";P3;" ";P4
  219. 2190 PRINTSPC(43)"FIRE STATUS:    ";S1;"       ";S2
  220. 2200 FORT=1TO1000:NEXT
  221. 2210 PRINT"[145][145][145]                      "
  222. 2220 PRINT"                  "
  223. 2230 GETA$:IFA$=CHR$(133)THEN360
  224. 2240 GOTO2130
  225. 2250 PRINT"[147]":PRINTSPC(93)"[158][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
  226. 2260 PRINTTAB(10)"***[158] USER RAM  TEST [146]***"
  227. 2270 PRINTTAB(13)"[158][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  228. 2280 PRINTSPC(127)"[154]F1 - USER 38911 BYTES CHECK"
  229. 2290 PRINTSPC(87)"[153]F3 [192] DECIMAL DUMP TO SCREEN"
  230. 2300 PRINTSPC(87)"[150]F7 [192] RETURN"
  231. 2310 GETA$:IFA$=""THEN2310
  232. 2320 IFA$=CHR$(133)THEN2360
  233. 2330 IFA$=CHR$(134)THEN2430
  234. 2340 IFA$=CHR$(136)THEN360
  235. 2350 GOTO2310
  236. 2360 A=PEEK(40959):B=PEEK(40704)
  237. 2370 SYS50176
  238. 2380 IFA=PEEK(49919)ANDB=PEEK(49664)THEN2400
  239. 2390 PRINT"PROBLEM IN HIGH SIDE OF USER RAM":GOTO2410
  240. 2400 PRINT"[156] USER RAM IS OK"
  241. 2410 FORT=1TO3000:NEXT
  242. 2420 GOTO2250
  243. 2430 PRINT"[158] ENTER PAGE # 8-159 ";:INPUTI$
  244. 2440 PRINT"[147]":POKE53281,1:I=VAL(I$):POKE646,6
  245. 2450 FORJ=0TO255:PRINTPEEK(I*256+J);" ";:NEXT
  246. 2460 FORI=0TO4000:NEXT
  247. 2470 POKE53281,0:GOTO2250
  248.